#ifndef RAY_H
#define RAY_H

#include "globals.h"
#include "triangle.h"
#include "scene.h"
#include "random.h"
#include "color.h"
namespace gemren
{
	class ray
	{
	public:
		ray(const scene* sc, random* ran)
			:myscene(sc), ran(ran)
		{}
		virtual embree::Col3f shoot(
			const coord& orig, 
			const coord& dir, 
			const bool fast,
			const float aperture,
			const float focus,
			float rrmin=0.1f,
			float rrmax=0.9f
		);
	protected:
		const scene* myscene;
		random* ran;
	};
}
#endif